package Testes;

import org.junit.Before;
import org.junit.Test;

import Classes.ManipulaUsuario;
import Classes.Usuario;
import junit.framework.Assert;



public class ManipulaUsuarioTest {

	
	private Usuario usuario1;
	private Usuario usuario2;
	private Usuario usuario3;
	ManipulaUsuario usu = new ManipulaUsuario();
	
	@Before
	public  void  criaUsuario() {
	
		usuario1 = new Usuario("Adriana");
		usuario2 = new Usuario("Diego");
		usuario3 = new Usuario("Fabiano");
		
	
	}
	@Test
	public void TestaAdicionaUsuario(){
		
		usu.adicionaUsuario(usuario1);
		usu.adicionaUsuario(usuario2);
		usu.adicionaUsuario(usuario3);
		Assert.assertEquals("Adriana",ManipulaUsuario.getListaUsuario().get(0).getNome());
		Assert.assertEquals("Diego",ManipulaUsuario.getListaUsuario().get(1).getNome());
		Assert.assertEquals("Fabiano",ManipulaUsuario.getListaUsuario().get(2).getNome());
		
		
	}
	
	@Test
	public void testaGetListaUsuario(){
		usu.adicionaUsuario(usuario1);
		usu.adicionaUsuario(usuario2);
		usu.adicionaUsuario(usuario3);
		Assert.assertEquals("Adriana",ManipulaUsuario.getListaUsuario().get(0).getNome());
		Assert.assertEquals("Diego",ManipulaUsuario.getListaUsuario().get(1).getNome());
		Assert.assertEquals("Fabiano",ManipulaUsuario.getListaUsuario().get(2).getNome());
		Assert.assertEquals("Adriana",ManipulaUsuario.getListaUsuario().get(3).getNome());
		Assert.assertEquals("Diego",ManipulaUsuario.getListaUsuario().get(4).getNome());
		Assert.assertEquals("Fabiano",ManipulaUsuario.getListaUsuario().get(5).getNome());
	}
	
	@Test
	public void testaGetQuantidade(){
		
		Assert.assertEquals(6,usu.getQuantidade());
		usu.adicionaUsuario(usuario1);
		Assert.assertEquals(7,usu.getQuantidade());
		usu.adicionaUsuario(usuario2);
		Assert.assertEquals(8,usu.getQuantidade());
			
	}
	
	@Test
	public void testaGetNomes(){
		Assert.assertEquals("Adriana",ManipulaUsuario.getNomes()[0]);
		usu.adicionaUsuario(usuario2);
		Assert.assertEquals("Diego",ManipulaUsuario.getNomes()[8]);
		usu.adicionaUsuario(usuario3);
		Assert.assertEquals("Fabiano",ManipulaUsuario.getNomes()[9]);
	}
	@Test
	public void testaGetUsuarioNome(){
		
		Assert.assertEquals("Adriana",usu.getUsuarioNome("Adriana").getNome());
		Assert.assertEquals(null,usu.getUsuarioNome("Joao"));
		
	}
	
}

